#pragma once
#include "..\DXAMLCommon.h"
#include "CharacterSource.h"




class Utf16CharacterSource :
	public CharacterSource
{

public: 
	Utf16CharacterSource(struct IMalloc * pMalloc);
	virtual XINT32 GetCharacterSize();
	virtual wchar_t GetCharacter();
	virtual XINT32 GetSegmentSize();
	virtual void GetSegmentValue(struct StringPtr * pValue);
	virtual unsigned long GetCharacterOffset(XUINT8 * pbStart, XUINT8 * pbEnd);
	virtual bool GetCharacterIfEqual(char ch);
	virtual void FixAsciiCharacter(char chNewChar);
	virtual enum XCharScanEnum ScanWS(XINT32 * pnSize);
	virtual enum XCharScanEnum ScanCharData(XINT32 * pnSize);
	virtual void CheckCDSectEnd();
	virtual const XUINT8 * XmlDecl(XUINT32 * pcb);
};